Determining property mapping resources with property constraints in an additive manufacturing

ABSTRACT

In an example, a method includes receiving, at a processor, a plurality of property parameter sets representing attainable property combinations in additive manufacturing and being associated with print material description. A constraint of a first property of the property parameter sets may also be received and a hull of a property mapping resource for use in determining additive manufacturing instructions for generating an object in which the first property meets the received constraint may be determined.

BACKGROUND

Three-dimensional objects generated by an additive manufacturing processmay be formed in a layer-by-layer manner. In one example of additivemanufacturing, an object is generated by solidifying portions of layersof build material. In examples, the build material may be in the form ofa powder, fluid or sheet material. The intended solidification and/orphysical properties may be achieved by printing an agent onto a layer ofthe build material. Energy may be applied to the layer and the buildmaterial on which an agent has been applied may coalesce and solidifyupon cooling. In other examples, chemical binding agents may be used tosolidify a build material. In other examples, three-dimensional objectsmay be generated by using extruded plastics or sprayed materials asbuild materials, which solidify to form an object.

Some printing processes that generate three-dimensional objects use datagenerated from a model of a three-dimensional object. This data may, forexample, specify the locations at which to apply an agent to the buildmaterial, or where a build material itself may be placed, and theamounts to be placed. The data may be generated from a representation ofan object to be printed.

BRIEF DESCRIPTION OF DRAWINGS

Non-limiting examples will now be described with reference to theaccompanying drawings, in which:

FIGS. 1 and 2 are flow charts of example methods for defining anN-dimensional hull;

FIG. 3A-E are examples of N-dimensional convex hulls;

FIG. 4 is a flow chart of an example of generating a three-dimensionalobject;

FIG. 5 is an example of processing apparatus:

FIG. 6 is an example object generation apparatus; and

FIG. 7 is a simplified schematic of a processor and a computer readablemedium according to one example.

DETAILED DESCRIPTION

Some examples described herein provide an apparatus and a method forprocessing data relating to a three dimensional object and/or forgenerating data that may be used to produce a three dimensional object.In some examples, arbitrary three dimensional content with a variety ofspecified object properties is processed. These object properties maycomprise appearance properties (color, transparency, glossiness, etc.),conductivity, density, porosity and/or mechanical properties such asstrength.

In some examples herein, three-dimensional space may be thought of interms of ‘voxels’, i.e. three-dimensional pixels, wherein each voxelrepresents a discrete volume. In data modelling a three dimensionalobject, a voxel at a given location may be associated with least onecharacteristic. For example, it may represent a portion of the objectwhich is intended to be empty, or to have a particular color or tocomprise a particular material, or a particular object property, or thelike. The voxels may have the same shape (for example, cubic ortetrahedral), or may differ in shape and/or size.

Some examples herein refer to property gamuts. A property gamut maydescribe a predetermined range of combination of properties in anobject. In some examples all the combination of properties which areincluded in the gamut meet certain criteria. Therefore, while othercombinations of properties may be possible, they may be excluded from(or lie outside) a gamut.

For example, considering color (although, as is noted below, color isjust one class of property, and the principles set out herein may applymore generally to mapping between property spaces), there may be asource color space which is independent of a proposed object generationapparatus. For example the source color space may be defined, forexample in relation to RGB or sRGB values, or which uses anInternational Commission on Illumination (CIE) color model. Other colorspace models include Hue-Saturation-Value (HSV),Hue-Saturation-Lightness (HSL), or the like.

An object generation apparatus color space may be defined with referenceto at least one print agent (for example, colorants such as inks andtoners, which in some examples may function as fusing agents) of anobject generation apparatus. The object generation apparatus may forexample be a specific object generation apparatus, or a class of objectgeneration apparatus. For example, the object generation apparatus maybe an object generation apparatus which uses Cyan. Yellow, Magenta andBlack print agents in order to provide a color, which are associatedwith a CYMK color space. In some examples, the object generationapparatus color space may be described in the form of n-dimensionalvectors, where n is the number of print agents (e.g. inks) used by theobject generation apparatus and the vector components representquantities of each print agent available in the color object generationapparatus. In other examples, the vectors may comprise combinations ofprint agents (and therefore the number of dimensions of such a vectormay be greater than the number of printed agents). In some examples, theobject generation apparatus color space may be defined in terms of printmaterial volume coverage (Mvoc) vectors, as is described in greaterdetail below.

In such an example, there may be predetermined mappings which mapbetween the colors of a source color spare into print material volumecoverage vectors, and the mappings may be used to determine instructionsto print an object. In examples where a color in the source color spaceis not represented in the object generation apparatus color space, itmay for example be mapped to the closest available color, such as coloron the surface or hull of the gamut enclosing the object generationapparatus color space.

While color has been used as the example above, the principle extends toother properties: for example, the break strength, resiliency,conductivity or any other property of interest. In some examples, suchproperties may be measured from a test object. This may then lead to aset of explicit mappings between multi-dimensional property spaces,where the properties may be any combination of properties, and where theproperties may be described in one space in a device non-specific mannerand in another space in terms of print material combinations to providethe properties.

In some examples, an explicit set of mappings may be characterised bymeasuring properties (e.g. color, strength, conductivity, density,resilience, etc.) of a plurality of generated test objects. Theproperties of the objects may be measured and stored such that arelationship, or mapping, between a printed property set and thematerials used in generating the objects can be established.

In some examples, these explicit mappings are used to define propertygamuts. Where a combination of properties is specified for an objectwhich has not been explicitly tested, interpolation may be used toestimate the print material, or combination of print materials, which islikely to result in this combination of properties. This may for examplebe determined by considering two print material descriptions which havebeen tested and shown to provide relatively similar properties, anddetermining an intermediate print material description.

In some examples, the external hull of a gamut is determined from thetested combinations of print material which result in the ‘most extreme’combinations of properties (where most extreme may comprise thestrongest and the weakest, the most and least colourful, the strongestcolourful object, and so on). In some examples, a convex gamut may bedefined. When compared to gamuts exhibiting concavities, convex gamutsmay provide more consistent results when using interpolation.

In some examples, a print material coverage representation defines printmaterial data, for example detailing the amount of print materials (suchas agent(s) to be deposited onto a layer of build material, or in someexamples, build materials themselves), and, if applicable, theircombinations. In some examples, this may be specified as a proportionalvolume coverage (for example, X % of a region of a layer of buildmaterial should have agent Y, or a combination of agents Y and Z appliedthereto). Such print materials may be related to or selected to providean object property such as, for example, color, transparency,flexibility, elasticity, rigidity, surface roughness, porosity,conductivity, inter-layer strength, density, and the like.

The actual location at which each print material (for example, a drop ofan agent) should be applied, as specified in control data, may bedetermined using halftoning techniques.

For example, a set of voxels within object model data may have anassociated print material coverage representation comprising a set ofprint material volume coverage (Mvoc) vectors. In a simple case, such avector may indicate that X % of a given region of a three-dimensionalspace should have a particular agent applied thereto, whereas (100−X) %should be left clear of that agent. Mvocs may also specify combinationsof agents which may be applied to a location, along with a probabilitythat a particular combination should be applied.

The print material coverage representation may then provide the inputfor a ‘halftoning’ process to generate control data that may be used byan additive manufacturing system to produce a three-dimensional object.For example, it may be determined that, to produce specified objectproperties, 25% of a layer of build material (or of a portion of alayer) should have an agent applied thereto. The halftoning processdetermines where the drops of agent fall in order to provide 25%coverage. Techniques for halftoning include error diffusion, ditheringusing of halftone threshold matrices or masks (for example, based onblue or green noise distributions, or clustered dots or the like).

Such a representation may be used to form a gamut, which may be a convexgamut and may represent or estimate a maximum accessible gamut of theobject generation apparatus (given predetermined constraints such as theamount of print agent which may be applied to any particular voxel, theprint agents available, etc.).

FIG. 1 is an example of a method, which may be a method of determining aproperty mapping resource for use in additive manufacturing, and whichmay be computer implemented. The method comprises, in block 102,receiving (for example at a processor) a plurality of property parametersets representing attainable property combinations in additivemanufacturing. Each property parameter set may specify at least oneproperty parameter and has an associated print material description. Theprint material description may for example comprise a print materialcoverage vector (e.g. an Mvoc, or an n-dimensional vector, when n is thenumber of print agents). For example, the association for each propertyparameter set may comprise a mapping derived from measurements of a testobject generated using a particular print material description, asdescribed above. In some examples, the print material description may beprovided with the property parameter set. The property set may compriseany number of properties. In some examples, the property parameter setsare provided in an N dimensional matrix, where N is the number ofproperties for which property parameters are provided.

To consider a particular example, a set of properties comprising astrength and a color represented in an RGB color space may be associatedwith a print material vector based on print agents X and Y. This couldbe summarised as:

[S, R, G, B]: [X: a %, Y: b %, XY: c %, Z: d %] where S is a strengthvalue, R is a red value, G is a green value and B is a blue value, XYrepresents a combination of agents X and Y being applied to a particularvoxel, and Z indicates that neither agent is applied.

Block 102 may then comprise receiving a plurality of such property sets.The association may for example be via a mapping table or the like.

Block 104 comprises receiving a constraint of a first property of theproperty parameter sets. For example, the constraint may be that aparticular property has a threshold value, for example a thresholdstrength, conductivity, resilience, density, brightness or the like.

Block 106 comprises determining a hull of a property mapping resourcefor use in determining additive manufacturing instructions forgenerating an object in which the first property meets the constraint.In examples, the property parameter sets are provided in an Ndimensional matrix which is S×N in size, where S is the number of sets.Block 106 may comprise determining an N-dimensional convex hull of aproperty gamut based on the received matrix and/or determining a reducedN-dimensional convex hull satisfying the constraint. The propertymapping resource may map between property parameter sets and printmaterial descriptions.

FIG. 2 is an example of a method of determining a property gamutsatisfying the constraint.

Block 202 comprises determining an M by N matrix A, where M is a numberof rows corresponding to the number of properties for which a constraintis received. Block 204 comprises determining an M by 1 matrix b,comprising at least one constraint and block 206 comprises determiningat least one half-plane using an inequality based on A and b. A ‘halfplane’ is any division of a space into two distinct sections. Block 208comprises using the half plane(s) to compute the hull of the gamut.

Block 210 comprises identifying the print material descriptions withinthe N-dimensional matrix which satisfy the constraint. Block 212comprises combining the reduced N-dimensional convex hull and theidentified print material descriptions.

To consider a particular example in which the property set comprises athree dimensional (XYZ) color definition and strength S. In thisexample, therefore, property parameters comprise color parameters and amechanical property parameter. In this example, the constraint is aconstraint of the parameters of the mechanical property—i.e. a propertyrelated to the function and/or practicality of an object rather than itsappearance. In practical cases, it may be intended to meet certainmechanical and/or functional constraints, for example such that theobject is useful for its intended purpose (strong enough, buoyantenough, conductive enough, etc.). In this context, the method may beseen as a way of defining a gamut for object generation which allows anobject to be as colourful as possible while meeting practicalconstraints.

From a measured set of properties (e.g. acquired from a set of testobjects) which provides characterisation data, the ‘full’ objectproperty gamut of the characterization data may be determined, forexample by computing a 4D convex hull based on half planes (althoughvertices may be used in other examples).

The characterisation data may be stored in a matrix C=[X Y Z S]. Anenclosing convex hull of C can be expressed as a set of half-planeintersections (or linear inequalities), with the dual representation ofthe extreme vertices of the convex hull, such that:

-   -   [A, b]=points2inequalities(C)

A and b are two matrices. A is M×4 and b is M×1 where each rowconstitutes a single inequality or half plane to which a constraint maybe applied (i.e. M is the number of properties which may beconstrained). Since the canonical form of convex hulls is in the form ofAx<=b, additional constraints (inequalities—rows of the matrices) can beadded to A and b at this point (e.g. as described in blocks 202 and 204above). For example, to add a constraint to the last dimension (breakstrength), then this may be achieved by adding a new inequality to theset [A, b] of the form:

A_=[0 0 0 1]

b_=constraint_value

If the constraint is for the values in the last dimension (breakstrength) to be “greater than or equal to” the constraint value (ascompared to being “less than or equal to” the constraint value), then A_takes the form of:

A_=−[0 0 0 1]

and −b_ comprises the constraint value. (i.e. the break strength is tobe at least b_). It may be noted that the lower constraint may beexpressed as Ax>=b but since Ax<=b is the canonical form, it is hereexpressed effectively in the form −Ax<=−b. If instead the constraint isto be a range (i.e. there is a lower constraint value and an upperconstraint value), then two inequalities can be added:

-   -   A_(1, =:)=−[0 0 0 1]    -   b_(1)=−lower_constraint_value    -   A_(2, :)=[0 0 0 1]    -   b_(2)=upper_constraint_value

This allows a new set of inequalities (half-planes) that combines A andA_ and b and b_ to be constructed (block 206). The new set will have M+1rows (if a one-sided, rather than two-sided, inequality is added) or M+2(if an interval, or two-sided, inequality is added). This set ofinequalities is designated herein as Ac and bc.

The extreme vertices of this set of inequalities maybe computed—this isagain the dual of the half-plane intersection representation, such that:

-   -   Cc=inequalities2points(Ac, bc)

The set Cc is a K×4 matrix and is then the new, constrained convex hullof a ‘characterization set’ (i.e. a set of measured property parametersassociated with print material descriptions) where all samples meet theconstraint(s) (block 208).

The measured characterization data from C that is inside Cc (i.e. theexplicitly defined set of property parameter sets associated with printmaterial descriptions which satisfies the inequalities [Ac,bc]) may thenbe included in hull (block 210). This is computed by evaluating Ac*C<=bcand for all cases where all inequalities [Ac, bc] hold, the originalvalues from C are within the constraints.

The constrained gamut is therefore characterised by the hull Cc+a subsetof the original values C that are inside the hull, and denoted Ccoherein (block 212). This is the characterization set for which allvalues are within the constraint(s).

Taking the first 3 dimensions of this new set Cco results in the XYZvalues for which the break strength S values satisfy the constraints( ).

A full ‘property pipeline’ mapping resource for mapping between intendedproperties and print materials may be thereby constructed. For example,this may mean that a particular color object data does not map to theclosest possible color available to the object generation apparatus ifthat color is outside the constrained gamut. It may instead map to theclosest color within the gamut (for example, on the surface thereof).

FIGS. 3A-E show examples of gamuts intended to show a color space on theleft (b* being shown on the x axis and L* being shown on the y axis) andthe right hand graph showing average break strength in MPa on the x axisand average break elongation as a percentage on the y axis. The pointsshown in the left hand charts mark the hull of the accessible colorgamut in each case, shown within a full (but in FIGS. 3B-3E, no fullylonger accessible) color gamut. FIGS. 3A-E show the result of theprocess of FIGS. 1 and 2 applied for a series of mechanical strengthvalues starting with no constraint in FIG. 3A and then with constraintsof a minimum strength of 14.2 MPa, 26.4 MPa, 32 MPa and 40 MPa for FIGS.3B-3E respectively. As half planes are inserted and the constraintincreases, the accessible color gamut hull become smaller. In otherwords, the range of colors available reduces as the strengthspecification becomes more onerous.

FIG. 4 is an example of generating an object using a constrained gamut.Block 402 comprises receiving data representing a three-dimensionalobject to be generated by an additive manufacturing apparatus, the datacomprising an object property description. For example, the objectproperty description may describe, for each voxel, a combination ofproperties intended to result in an object to be generated. In someexamples, object property descriptions may be associated with each of aplurality of voxels. In some examples, the data may for example compriseobject model data and object property data. The object model data maydefine a three-dimensional geometric model of at least a portion of themodel object, including the shape and extent of all or part of an objectin a three-dimensional co-ordinate system, e.g. the solid portions ofthe object. The object model data may be generated, at least in part, bya computer aided design (CAD) application. Object property data maydefine at least one object property for the three-dimensional object tobe generated. In one example, the object property data may comprise anyor any combination of a color, flexibility, elasticity, rigidity,surface roughness, porosity, inter-layer strength, density, conductivityand the like for at least a portion of the object to be generated. Theobject property data may define multiple object properties for a portionor portions of an object. A given voxel may have associated data thatindicates whether a portion of an object is present at that location.Object property data may comprise global and local object property data,e.g. certain object property values as defined in the object propertydata may be associated with each voxel that defines the object and/orcertain object property values may be associated with a set of voxels,e.g. ranging from individual voxels to all voxels associated with theobject. In one example, the data representing the three-dimensionalobject comprises a model of a three-dimensional object that has at leastone object property specified at every location within the model, e.g.at every [x, y, z] co-ordinate.

The constrained property may be received, for example described withinobject property data, or may be set at an apparatus level such that theconstraint will be imposed whether specified or not. This may reduceproduction of impractical objects. Block 404 comprises mapping the datausing the property mapping resource to determine object generationinstructions specifying print materials to be used in additivemanufacturing.

The property mapping resource may be generated as described in FIG. 1 orFIG. 2 above. As noted above, in some example explicit mappings may beused. In some examples, the mapping maybe interpolated based on hullvertices and/or explicit mappings.

Block 406 comprises generating an object according to the instructions.In some examples there may be an intervening halftoning process appliedto the data.

FIG. 5 is an example of a processing apparatus 500 comprising a memory502, an interface 504 and a mapping resource manager 506.

The memory 502 stores a plurality of attainable property parametercombinations in object generation. These may be associated with amapping to print material descriptions for generating an object havingthe property combinations. In some examples, the property parametercombinations are known to be attainable in that test objects having thatcombination of property parameters have been generated. In someexamples, the memory 502 stores a property mapping resource whichassociates at least one property in an object description with at leastone print material description. Such a mapping resource may associate aproperty description with one or more print materials, or with a printinstruction, each print instruction being to cause an object generationapparatus to print an object portion represented by a combination ofvoxels corresponding to the associated property description. In someexamples, the mapping resource may be a look up table, or a database, orthe like.

In use of the apparatus, the interface 504 receives an object propertyspecification in relation to a property. For example this may be aconstraint to be applied to at least one property. In some examples, theinterface also receives data representing a three-dimensional object tobe generated by an additive manufacturing apparatus, the data comprisingan object property description.

The mapping resource manager 506 determines, for the set of propertyparameter combinations, a hull (which may be a convex hull) defining aproperty gamut. The mapping resource manager further determines a hull(which may be a convex hull) of a modified property gamut meeting theobject property specification, and determines, based on the modifiedproperty gamut, a property mapping resource complying with the objectproperty specification. For example, this may utilise at least someaspects of the methods described in relation to FIG. 1 and/or FIG. 2above.

FIG. 6 is an example of a three-dimensional object generation apparatus600 which comprises processing apparatus 602 comprising, in addition tothe memory 502, interface 504 and mapping resource manager 506 describedin relation to FIG. 5, a control data module 604 and a print controlmodule 606.

The control data module 604 generates control data to cause the objectgeneration apparatus 600 to generate an object using the object propertydescription and the property mapping resource. This data may be useddirectly to control an object generation apparatus to print an object.In some examples, generating control data may comprise applyinghalftoning to at least part of the print apparatus color description.Halftoning may for example comprise comparing a value in a printmaterial coverage representation with a threshold values within amatrix, each threshold value representing a three-dimensional location(for example, an addressable pixel in a plane, or a voxel, or the like)to generate control data for printing a three-dimensional object basedon the object property description. The control data may for examplecomprise a set of discrete print material choices for a pixel in aplane, wherein the discrete values across the area of the plane may berepresentative of proportions set out in a print material coveragerepresentation.

The print control module 606 controls the three-dimensional objectgeneration apparatus 600 to generate a three-dimensional objectaccording to the control data. While in this example the processingapparatus 602 is part of the object generation apparatus 600, in otherexamples at least some components of the processing apparatus 602 may bein communication with an object generation apparatus, for example over anetwork rather than being local thereto.

FIG. 7 shows an example of a machine readable medium 702 in conjunctionwith a processor 704. The machine readable medium 702 storesinstructions 706 which, when executed by the processor 704, cause theprocessor 704 to carry out certain processes. The instructions 706comprise (i) instructions 708 to cause the processor 704 to determine,from an object property gamut, a reduced gamut hull in which a propertyof the gamut is constrained, (ii) instructions 710 to cause theprocessor 704 to populate the reduced gamut hull with a plurality ofpredetermined attainable property parameter combinations of objectgeneration and (iii) instructions 712 to cause the processor 704 toprovide the populated reduced gamut hull as a mapping resource.

In some examples, the machine readable medium 702 may further compriseinstructions which, when executed by the processor 704, cause theprocessor 704 to determine the reduced gamut hull using interpolation ofpredetermined attainable property parameter combinations. For example,this may comprise interpolating vertices of a gamut satisfying theproperty constraint.

Examples in the present disclosure can be provided as methods, systemsor machine readable instructions, such as any combination of software,hardware, firmware or the like. Such machine readable instructions maybe included on a computer readable storage medium (including but is notlimited to disc storage, CD-ROM, optical storage, etc.) having computerreadable program codes therein or thereon.

The present disclosure is described with reference to flow charts andblock diagrams of the method, devices and systems according to examplesof the present disclosure. Although the flow diagrams described aboveshow a specific order of execution, the order of execution may differfrom that which is depicted. Blocks described in relation to one flowchart may be combined with those of another flow chart. It shall beunderstood that at least some blocks in the flow charts and blockdiagrams, as well as combinations of thereof can be realized by machinereadable instructions.

The machine readable instructions may, for example, be executed by ageneral purpose computer, a special purpose computer, an embeddedprocessor or processors of other programmable data processing devices torealize the functions described in the description and diagrams. Inparticular, a processor or processing apparatus (such as the processingapparatus 500, 602 or the processor 704 mentioned above) may execute themachine readable instructions. Thus functional modules of the apparatusand devices, such as the interface 504, mapping resource manager 506,control data module 604 and the print control module 606 may beimplemented at least in part by a processor executing machine readableinstructions stored in a memory, or a processor operating in accordancewith instructions embedded in logic circuitry. The term ‘processor’ isto be interpreted broadly to include a CPU, processing unit, ASIC, logicunit, or programmable gate array etc. The methods and functional modulesmay all be performed by a single processor or divided amongst severalprocessors.

Such machine readable instructions may also be stored in a computerreadable storage (for example a memory 502 or a machine readable medium702 as described above) that can guide the computer or otherprogrammable data processing devices to operate in a specific mode.

Such machine readable instructions may also be loaded onto a computer orother programmable data processing devices, so that the computer orother programmable data processing devices perform a series of operationsteps to produce computer-implemented processing, thus the instructionsexecuted on the computer or other programmable devices provide a stepfor realizing functions specified by block(s) in the flow charts and/orin the block diagrams.

Further, the teachings herein may be implemented in the form of acomputer software product, the computer software product being stored ina storage medium and comprising a plurality of instructions for making acomputer device implement the methods recited in the examples of thepresent disclosure.

While the method, apparatus and related aspects have been described withreference to certain examples, various modifications, changes,omissions, and substitutions can be made without departing from thespirit of the present disclosure. It is intended, therefore, that themethod, apparatus and related aspects be limited only by the scope ofthe following claims and their equivalents. It should be noted that theabove-mentioned examples illustrate rather than limit what is describedherein, and that those skilled in the art will be able to design manyalternative implementations without departing from the scope of theappended claims. Features described in relation to one example may becombined with features of another example.

The word “comprising” does not exclude the presence of elements otherthan those listed in a claim, “a” or “an” does not exclude a plurality,and a single processor or other unit may fulfil the functions of severalunits recited in the claims.

The features of any dependent claim may be combined with the features ofany of the independent claims or other dependent claims.

The invention claimed is:
 1. A method comprising: receiving, at aprocessor, a plurality of property parameter sets representingattainable property combinations in additive manufacturing and beingassociated with print material descriptions, receiving, at theprocessor, a constraint of a first property of the property parametersets; and determining, by the processor, a hull of a property mappingresource for use in determining additive manufacturing instructions forgenerating an object in which the first property meets the receivedconstraint.
 2. A method according to claim 1 wherein: the propertyparameter sets are provided in an N-dimensional matrix, where N is anumber of properties for which property parameters are provided; anddetermining the property mapping resource comprises determining anN-dimensional convex hull of a property gamut and determining a reducedN-dimensional convex hull satisfying the constraint.
 3. A methodaccording to claim 2 wherein determining the reduced N-dimensionalconvex hull comprises: determining an M by N matrix A_, where M is anumber of rows corresponding to a number of properties for which aconstraint is received; determining an M by 1 matrix b_, comprising atleast one constraint; and determining a half-plane using an inequalitybased on A_ and b_.
 4. A method according to claim 3 in which an upperand lower constraint is applied by determining two M by 1 matrices b_(1)and b_(2).
 5. A method according to claim 3 further comprising computingvertices of the reduced N-dimensional convex hull.
 6. A method accordingto claim 2 wherein: determining the property mapping resource furthercomprising identifying the print material descriptions within theN-dimensional matrix which satisfy the constraint; and combining thereduced N-dimensional convex hull and the identified print materialdescriptions.
 7. A method according to claim 1 further comprising:receiving data representing a three-dimensional object to be generatedby an additive manufacturing apparatus, the data comprising an objectproperty description; and mapping the data using the property mappingresource to determine object generation instructions specifying printmaterials to be used in additive manufacturing.
 8. A method according toclaim 7, further comprising generating an object according to theinstructions.
 9. A method according to claim 1 in which the propertyparameter sets comprise a color parameter and a mechanical propertyparameter, and wherein the constraint is a constraint of a mechanicalproperty parameter.
 10. Processing apparatus comprising: a memorystoring a plurality of attainable property parameter combinations inobject generation; an interface to receive an object propertyspecification in relation to a property; and a mapping resource managerto: determine, for the plurality of attainable property parametercombinations, a hull defining a property gamut; determine a hull of amodified property gamut meeting the object property specification; anddetermine, based on the modified property gamut, a property mappingresource complying with the object property specification. 11.Processing apparatus according to claim 10 wherein the interface isfurther to receive data representing a three-dimensional object to begenerated by an additive manufacturing apparatus, the data comprising anobject property description; and the processing apparatus furthercomprises a control data module to generate control data to cause anobject generation apparatus to generate an object using the objectproperty description and the property mapping resource.
 12. Processingapparatus according to claim 11 further comprising a print controlmodule, the print control module being to control a three-dimensionalobject generation apparatus to generate a three-dimensional objectaccording to the control data.
 13. Processing apparatus according toclaim 10 in which the memory stores a property mapping resource whichassociates at least one property in an object description with at leastone print material description.
 14. A non-transitory machine readablemedium storing instructions which, when executed by a processor, causethe processor to: determine, from an object property gamut, a reducedgamut hull in which a property of the object property gamut isconstrained; populate the reduced gamut hull with a plurality ofpredetermined attainable property parameter combinations of objectgeneration; and provide the populated reduced gamut hull as a mappingresource.
 15. A non-transitory machine readable medium according toclaim 14 storing further instructions which, when executed by aprocessor, cause the processor to determine the reduced gamut hull usinginterpolation of predetermined attainable property parametercombinations.
 16. The method of claim 1, wherein the plurality ofproperty parameter sets are mapped from measurements of a plurality oftest objects.
 17. The method of claim 1, wherein the plurality ofproperty parameter sets comprise combinations of different propertiesfor the generated object.
 18. The method of claim 1, wherein a givenproperty parameter set comprises the first property of the generatedobject and a second property of the generated object.
 19. The method ofclaim 1, wherein the property mapping resource maps between theplurality of property parameter sets and the print materialdescriptions.
 20. The method of claim 1, wherein the hull of theproperty mapping resource constrains a range of available combinationsof the first property and a second property based on the receivedconstraint.